The present invention relates in general to integrated circuits, and in particular to a circuit that can be programmed to sense varying signals from different types of computer peripheral devices such as pointing devices.
The rapid expansion of the personal computer (PC) market has brought about a proliferation of PC peripheral devices. The range of these devices includes standard peripherals such as monitors, keyboards, modems, mouse and joystick devices, to CD ROM or DVD drives, and imaging devices such as printers and scanners, and to more advanced multi-media related devices such as high-fidelity audio and video products, data gloves and digitizers. In order to facilitate the interface between these wide ranging peripheral devices and the host PC, the members of the personal computer and telecommunications industry have developed a standard for a single, universal interface connector and protocol generally referred to as the Universal Serial Bus (USB). By defining a universal connector, the USB eliminates the need for different types of ports and jacks. It also eliminates the need to make provisions for installing different cards into dedicated PC slots and then reconfiguring the system in order to accommodate some of the enumerated peripheral devices. Further, interface between USB compliant PCs and peripheral devices is automatically configured upon physical connection.
While the USB has to a great extent standardized the interface protocol between the PC and the many different peripheral devices, there remains differences in the electrical specifications of the interface circuits. That is, while the same USB-defined set of signals may be involved in, for example, detecting a pointing device (e.g., mouse, joystick, trackball, gamepad, etc.), the circuits processing these signals may have differing electrical requirements. For example, the interface circuit for a mouse manufactured by one vendor may require an amount of sink current that is almost an order of magnitude smaller than one manufactured by another vendor. A similar incompatibility exists for different pointing devices manufactured by the same vendor. For example, the current sinking requirements for a joystick interface circuit differs substantially from those of a mouse roller. This results in manufacturers having to design different interface circuitry for the same USB compliant peripheral device, depending on the application and the vendor requirements.
There is therefore a need for a circuit that can accommodate differing interface electrical specifications for PC peripheral devices such as pointing devices as required by different manufacturers and different applications.